Amazon RDS for PostgreSQLがやってきた!!
よく訓練されたアップル信者、都元です。ついに来た! キタ!! キタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━(゚∀゚)━━━!!!!
前置きはいいですね。さっさとやってみますね。
まずはSecurity Groupの作成
postgres用のセキュリティーグループを用意します。
おやぁ、プリセットにはありませんねw まぁ、近々出てくることになると思いますが、ひとまず今はポート番号5432を指定して作成しましょう。
ではcreate-db-instance!
RDSのManagement Consoleより、いつものように作成開始です。選択肢の2つ目に、ぞうさんが現れましたね。いやー、嬉しい。
これ以降は、MySQLの時と全く変わりません。同じノリで諸々設定していきます。
ここで、先ほど作ったセキュリティーグループを設定するのをお忘れなく。一応VPCのデフォルトも付与しておきます。
以上で、あとは起動完了を待つのみ。気のせいかもしれませんが、MySQLよりも起動が速いような気がしました。
CUIクライアントからつないでみる
ステータスがavailableになったら、クライアントでつないでみましょう。標準のCLI、psqlコマンドでどうぞ。
$ psql -h firstpg.************.ap-northeast-1.rds.amazonaws.com -U root postgres psql (9.3.1) SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) Type "help" for help. postgres=> \d No relations found. postgres=> CREATE TABLE keyvalue (key INT PRIMARY KEY, value VARCHAR(32) NOT NULL); CREATE TABLE postgres=> \d List of relations Schema | Name | Type | Owner --------+----------+-------+------- public | keyvalue | table | root (1 row) postgres=> INSERT INTO keyvalue (key, value) VALUES (1, 'foo'), (2, 'bar'); INSERT 0 2 postgres=> SELECT * FROM keyvalue; key | value -----+------- 1 | foo 2 | bar (2 rows)
GUIクライアントからつないでみる
とりあえずpgAdminですかね。ダウンロードページから最新バージョン(執筆時点でv1.18.1) *1をDLしてきてインストールします。
起動し、画面左上のプラグアイコンからサーバの登録です。
こんな感じ。
接続してみると、先ほどCUIクライアントから作ったkeyvalueテーブルが見えてますね!
お値段は?
OSSでライセンス費用が掛からないので、MySQLと同じじゃないかなー、と思っていたのですが、MySQLより僅かに高いです。が、見ての通り誤差のようなもんですので、ほぼMySQLと同じ金銭感覚でいていいとおもいます。
まとめ
従来、AWSでRDBを使う場合、実質的にMySQL一択だった感があります *2。また、オンプレミスからの移行については、PostgreSQLはEC2上に自前で構築する必要があり、MultiAZ構成を組み上げるのは非常に手間の掛かる状態でした。
今日からは、PostgreSQLがみんなの道具箱に入ります。今後が楽しみですね!